libxenlight: correct broken osdeps.[ch] and make #includes consistent
authorKeir Fraser <keir.fraser@citrix.com>
Mon, 23 Nov 2009 07:00:08 +0000 (07:00 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Mon, 23 Nov 2009 07:00:08 +0000 (07:00 +0000)
commitaf7af769b97af63b70e38b607dc389d1b689e8bc
tree8186e2ec7f199bc8c98209b9ecf1c99f2ca34af2
parentc14ce8a1257fbbc43c4196b186a7677209c6b12e
libxenlight: correct broken osdeps.[ch] and make #includes consistent

osdeps.[hc] previously mistakenly declared and defined [v]asprintf.
These functions are available in the libc on most platforms.  Also,
osdeps.h is used by xc.c but xc.c is not part of the library, so
osdeps.h is part of the public interface and should have a better
name.

So now, instead:

 * osdeps.h is libxl_osdeps.h.

 * _GNU_SOURCE is #defined in libxl_osdeps.h so that we get the system
   [v]asprintf (and various other functions)

 * libxl_osdeps.h is included first in every libxl*.c file (it needs
   to be before any system headers so that _GNU_SOURCE) takes effect.

 * osdeps.[hc] only provide their own reimplementation of [v]asprintf
   if NEED_OWN_ASPRINTF is defined.  Currently it is not ever defined
   but this is provided for any platform which needs it.

 * While I was editing the #includes in each .c file, I put them all
   into the same order: "libxl_osdeps.h", then system headers,
   then local headers.

 * xs.h is included in libxl.h.  This is needed for "bool"; it has to
   not be typedefed in libxl.h because otherwise we get a duplicate
   definition when including xs.h.

Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
13 files changed:
tools/libxl/Makefile
tools/libxl/libxl.c
tools/libxl/libxl.h
tools/libxl/libxl_device.c
tools/libxl/libxl_dom.c
tools/libxl/libxl_exec.c
tools/libxl/libxl_internal.c
tools/libxl/libxl_osdeps.h [new file with mode: 0644]
tools/libxl/libxl_utils.c
tools/libxl/libxl_xshelp.c
tools/libxl/osdeps.c
tools/libxl/osdeps.h [deleted file]
tools/libxl/xl.c